System and method for providing call gating using a femto cell

ABSTRACT

Embodiments of the disclosed invention include a system and method for providing call gating. For example, in one embodiment, a femto cell is disclosed that includes a processing unit configured to execute instructions to perform operations comprising: enabling a call gating function associated with a cellular device in response to receiving an activation signal from the cellular device, monitoring for an incoming call to the cellular device in response to enabling the call gating function associated with the cellular device; identifying a caller ID associated with an incoming call in response to receiving an incoming call to the cellular device; determining whether the caller ID is on a list of allowed caller IDs associated with the cellular device; and routing the incoming call to the cellular device in response to a determination that the caller ID is on the list of allowed caller IDs associated with the cellular device.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a Continuation of U.S. patent application Ser. No.12/403,060 filed on Mar. 12, 2009 entitled SYSTEM AND METHOD FORPROVIDING CELLULAR CALL GATING VIA A FEMTO CELL the entire teachings ofwhich are incorporated herein.

BACKGROUND OF THE INVENTION

The disclosed invention is related to the field of cellularcommunication devices and, in particular, to a femto cell. A femto cellis a small portable low power mobile phone base station that connects toa mobile operator's network using standard broadband DSL or Cableservice for improving mobile coverage in areas with obstructed cellularsignals, such as, the inside of a house or office building. In addition,femto cells may provide mobile phone coverage for both voice and data ata lower cost than that of a mobile operator's macro network.

SUMMARY

Embodiments of the disclosed invention include a system and method forproviding call gating. For example, in one embodiment, a femto cell isdisclosed that includes a processing unit configured to executeinstructions to perform operations comprising: enabling a call gatingfunction associated with a cellular device in response to receiving anactivation signal from the cellular device, monitoring for an incomingcall to the cellular device in response to enabling the call gatingfunction associated with the cellular device; identifying a caller IDassociated with an incoming call in response to receiving an incomingcall to the cellular device; determining whether the caller ID is on alist of allowed caller IDs associated with the cellular device; androuting the incoming call to the cellular device in response to adetermination that the caller ID is on the list of allowed caller IDsassociated with the cellular device.

In accordance with another embodiment, a method for providing cellularcall gating is disclosed that includes monitoring for a cellular signalassociated with a registered cellular device within range of a femtocell. The method enables a call gating functionality associated with theregistered cellular device in response to identifying the cellularsignal associated with the registered cellular. The method furthersmonitors for incoming calls to the registered cellular and identifies acaller ID associated with an incoming call. The method determineswhether the caller ID is on a list of allowed caller IDs associated withthe registered cellular device. The method routs the incoming call tothe registered cellular device in response to the caller ID being on thelist of allowed caller IDs associated with the registered cellulardevice.

BRIEF DESCRIPTION OF THE DRAWINGS

Illustrative embodiments of the present invention are described indetail below with reference to the attached drawing figures, which areincorporated by reference herein and wherein:

FIG. 1 depicts an embodiment a network environment in which theillustrative embodiments may be implemented for providing cellular callgating;

FIG. 2 depicts an embodiment of a femto cell for providing cellular callgating in accordance with the illustrative embodiments;

FIG. 3 depicts an embodiment of a user interface for configuring a femtocell to provide cellular call gating in accordance with an illustrativeembodiment; and

FIG. 4 depicts a flowchart illustrating an embodiment of a process forproviding cellular call gating via a femto cell in accordance with theillustrative embodiments.

DETAILED DESCRIPTION

The disclosed embodiments and advantages thereof are best understood byreferring to FIGS. 1-4 of the drawings, like numerals being used forlike and corresponding parts of the various drawings. Other features andadvantages of the disclosed embodiments will be or will become apparentto one of ordinary skill in the art upon examination of the followingfigures and detailed description. It is intended that all suchadditional features and advantages be included within the scope of thedisclosed embodiments, and protected by the accompanying drawings.Further, the illustrated figures are only exemplary and not intended toassert or imply any limitation with regard to the environment,architecture, or process in which different embodiments may beimplemented.

FIG. 1 depicts an embodiment a network environment 100 in which theillustrative embodiments may be implemented. In the depicted embodiment,a femto cell 190 is disclosed for providing cellular call gatingfunctionality to one or more cellular devices. For example, in oneembodiment, femto cell 190 may include a call gating module 218 forproviding cellular call gating functionality to cellular device 150.Cellular device 150 may be any type of communication device thatutilizes a cellular network for transmitting voice communication, suchas, but not limited to, a cellular phone. Cellular call gatingfunctionality, as referenced herein, is defined as providing accesscontrol functions for limiting calls to a cellular device. For example,in some embodiments, cellular call gating functionality may includerouting an incoming call directly to voicemail, blocking delivery of atext message, and/or only routing preferred calls to the cellulardevice.

In accordance with the disclosed embodiments, femto cell 190 may belocated in a building 170. Building 170 may be, but is not limited to, aresidential home, a school building, and/or an office building. In oneembodiment, femto cell 190 may utilize the radio spectrum licensed to aparticular mobile service provider for providing cellular service tocellular device 150. For example, in one embodiment, when cellulardevice 150 is within signal range of femto cell 190, cellular device 150will automatically detect femto cell 190's signal and switch over to usefemto cell 190 instead of the outdoor cell sites (i.e., the macrocellular network). In one embodiment, cellular device 150 makes andreceives calls in exactly the same way as before, except that thesignals are routed through femto cell 190 to one of the mobile serviceprovider main switching centers (MSC) via a broadband IP network 140.For instance, in one embodiment, femto cell 190 may communicate with abroadband router 180 for connecting femto cell 190 to broadband IPnetwork 140. Broadband router 180 is a device that determines and routesdata to the next network point toward its destination. In someembodiments, femto cell 190 may communicate wirelessly with broadbandrouter 180. In other embodiments, femto cell 190 is physically coupledto broadband router 180 for providing data transfer. In someembodiments, one or more other devices may be communicatively coupled tobroadband router 180 for enabling communication with broadband IPnetwork 140, such as, but not limited to, a data processing system 160located in building 170. Data processing system 160 may be, but is notlimited to, a desktop computer, a laptop, or other types of mobileprocessing devices.

In one embodiment, broadband IP network 140 may include one or more datanetworks, such as, but not limited to, the Internet, for routingcommunications between one or more communication devices and/or dataprocessing systems. The Internet is a global system of interconnectedcomputer networks that interchange data using the standardized InternetProtocol Suite (TCP/IP). Additionally, broadband IP network 140 mayinclude other types of data networks, such as, but not limited to, anintranet, a private local area network (LAN), a wide area network (WAN),and a wireless local area network (WLAN).

In one embodiment, data processing system 160 may communicate with a weband/or application server 144 hosting a webpage and/or web application146 for enabling a user to configure the functionalities, such as, butnot limited to, a call gating functionality, associated with femto cell190. Alternatively, or in addition to, in some embodiments, dataprocessing system 160 may directly communicate, wired or wirelessly,with femto cell 190 for enabling a user to configure the functionalitiesassociated with femto cell 190. For example, in one embodiment, dataprocessing system 160 may be physically connected to femto cell 190 viaa universal serial bus (USB) cable for enabling a user using dataprocessing system 160 to configure the functionalities of femto cell190. For instance, in one embodiment, femto cell 190 may include builtin software/hardware for detecting a connection with data processingsystem 160 and responsive to detecting a connection with data processingsystem 160, providing a user interface on data processing system 160 forconfiguring the functionalities of femto cell 190.

In the depicted embodiment, cellular device 150 may communicate with oneor more communication devices via femto cell 190. For example, in oneembodiment, a cellular device 102 associated with a different mobileservice provider than that of cellular device 150 may place a call tocellular device 150. In this example, the call is routed from the otherservice provider cellular network 110 to the subscriber's serviceprovider cellular network 120. A mobile switching center withinsubscriber's service provider cellular network 120 identifies thatcellular device 150 is registered/communicating with femto cell 190 androutes the call to femto cell 190 via broadband IP network 140. As willbe further described, in some embodiments, femto cell 190 may beconfigured to provide call gating functionalities with respect tocellular device 150, such as, but not limited to, determining whether toroute the call to cellular device 150 or to route the call directly tovoicemail. Additionally, in some embodiments, subscriber's serviceprovider cellular network 120 and/or other service provider cellularnetwork 110 may include one or more different types of mobile networks,such as, but not limited to, a Global System for Mobile Communications(GSM) network, a Code-Division Multiple Access (CDMA) network, anEnhanced Data GSM Environment (EDGE) network, and/or a 3G/4G network.

Similarly, in some embodiments, cellular device 150 may communicate witha landline analog phone 104. For instance, in one embodiment, landlineanalog phone 104 may place a call over telephone network 130 to cellulardevice 150. In some embodiments, telephone network 130 may include apublic switched telephone network (PSTN). The public switched telephonenetwork is the standard telephone network, consisting generally ofcopper wires for carrying analog voice data, utilized by most homes. Insome embodiments, telephone network 130 may also include digitaltelephone networks, such as, but not limited to, an integrated servicesdigital network (ISDN) and a fiber distributed data interface (FDDI)network. The call from landline analog phone 104 to cellular device 150is routed from telephone network 130 to subscriber's service providercellular network 120 and then routed to femto cell 190.

Further, in some embodiments, a broadband phone 106 may place a voiceover IP call to cellular device 150. In these embodiments, the call isrouted through broadband IP network 140 to subscriber's service providercellular network 120. A MSC located within subscriber's service providercellular network 120 locates cellular device 150. In one embodiment, ifcellular device 150 is currently communicating/registered with femtocell 190, the MSC routes the call to femto cell 190 via broadband IPnetwork 140. In accordance with the one of the disclosed embodiments,femto cell 190 may include a call gating functionality to determinewhether to route the call to cellular device 150 or whether to route thecall to a voicemail system associated with cellular device 150.

For instance, in one embodiment, cellular device 150 may be associatedwith a network voicemail system 142. Network voicemail system 142 may bea voicemail system for storing voicemails for a plurality ofcommunication devices associated with the cellular service providercorresponding to cellular device 150. In one embodiment, a userutilizing cellular device 150 may call network voicemail system 142 toretrieve voicemail messages left for cellular device 150.

With reference now to FIG. 2, an embodiment of femto cell 190 forproviding cellular call gating in accordance with the illustrativeembodiments is presented. In the depicted embodiment, femto cell 190includes, among other things, a processing unit 200, a memory component204, and a data storage unit 206. Processing unit 200 may comprise ofone or more microprocessors for executing computer usable programcode/instructions for providing cellular call gating. For example, inone embodiment, processing unit 200 may be one or more digital signalprocessors (DSP). A DSP is a specialized microprocessor designedspecifically for digital signal processing. For instance, in oneembodiment, processing unit 200 may convert signals from analog todigital, manipulate the signals digitally, and then convert the signalsback to analog form. In other embodiments, processing unit 200 mayutilize a dedicated digital to analog converter/analog to digitalconverter (DAC/ADC) 226 for converting signals from analog to digitaland vice versa.

In addition, in one embodiment, processing unit 200 may execute computerexecutable instructions 220 stored in memory component 204 forregistering a cellular device for enabling the cellular device to sendand receive calls via femto cell 190, monitoring for incoming calls toone or more registered cellular devices, and for routing incoming callsto a registered cellular device only if the caller ID associated withthe incoming call is on a preferred/allowed list of caller IDsassociated with the registered cellular device. Additionally, in someembodiments, processing unit 200 may execute computer executableinstructions 220 stored in memory component 204 for enabling a callerassociated with a caller ID not identified on a preferred/allowed listof caller IDs associated with a registered cellular device toself-identify the call as important or urgent for enabling femto cell190 to route the call the registered cellular device.

In some embodiments, memory component 204 is a volatile memory componentof femto cell 190. Volatile memory is memory that loses its contentswhen femto cell 190 loses power. For example, in some embodiments,memory component 204 may be random access memory (RAM). Random accessmemory stores currently executing instructions and/or data utilized by asoftware application and/or hardware device.

Data storage unit 206 is a non-volatile memory component of femto cell190, such as, but not limited to, a hard disk drive. Non-volatile memoryretains stored data when power is lost. In some embodiments, datastorage unit 206 may be an external hard drive and/or a network datastorage unit. In other embodiments, data storage unit 206 may be aremovable data storage unit, such as, but not limited to, a flash card.In some embodiments, data storage unit 206 may include a data file ofregistered devices 240 containing data associated with one or morecellular device that may utilize femto cell 190 for sending andreceiving calls. In addition, in some embodiments, data storage unit 206may also store an allowed list 242. In one embodiment, allowed list 242contains a plurality of preferred caller IDs respectively associatedwith the one or more registered cellular devices. For example, in someembodiments, femto cell 190 may include a call gating module 218 thatmay utilize allowed list 242 for determining whether to route anincoming call to a registered cellular device based on whether thecaller ID associated with the incoming call is included in allowed list242 of the called device.

Further, in some embodiments, data storage unit 206 may store a blockedlist 244 containing a plurality of blocked caller IDs respectivelyassociated with the one or more registered cellular devices. Forinstance, in some embodiments, in response to receiving an incoming callto a registered cellular device that is currently utilizing femto cell190, call gating module 218 may automatically route all incoming callshaving caller IDs included in blocked list 244 to network voicemailsystem 142. Additionally, in some embodiments, femto cell 190 may blockdelivery of a call having a caller ID included in blocked list 244associated with a registered cellular device. For example, in someembodiments, femto cell 190 may respond with a busy signal for blockingvoice calls or may block delivery of an SMS message.

Alternatively, or in addition, in some embodiments, femto cell 190 mayinclude a voicemail control module 224. In one embodiment, voicemailcontrol module 224 may enable a non-preferred caller (i.e., a callerhaving a caller ID that is not included on allowed list 242) toself-identify a call as urgent or important for bypassing the automaticvoicemail routing feature of femto cell 190. In these embodiments, if acaller self-identifies the call as important/urgent, then voicemailcontrol module 224 routes the call to the called device, else voicemailcontrol module 224 routes the call to voicemail. In one embodiment,voicemail control module 224 may enable only callers having caller IDsnot included in blocked list 244 associated with a registered cellulardevice to self-identify a call as urgent or important for bypassing theautomatic voicemail routing feature of femto cell 190. In otherembodiments, voicemail control module 224 may enable all callersincluding blocked callers to self identify a call as urgent and/orimportant for bypassing the voicemail routing feature of femto cell 190.

In addition, femto cell 190 may include a communication interface 216for receiving signals and/or data from other network devices, such as,but not limited to, a telephone switch located at a central office ormobile switching center, a web and/or application server 144, and anetwork voicemail system. For example, in some embodiments,communication interfaces 216 may include an Ethernet port and/or atelephone line port for connecting femto cell 190 to broadband IPnetwork 140 and/or to subscriber's cellular network 120 for sending andreceiving calls. In addition, in accordance with the disclosedembodiments, communication interface 216 may receive caller IDinformation associated with an incoming call from subscriber's cellularnetwork 120. For instance, in some embodiments, a telephone switch maysend an analog data stream containing the caller ID information to thecalled party. In one embodiment, femto cell 190 may include a calleridentification module 230 for interpreting the analog data stream todetermine the caller ID associated with an incoming call. In someembodiments, the caller ID information may be in single data messageformat (SDMF) which provides the caller's telephone number and thedate/time of the call. In other embodiments, the caller ID informationmay be in multiple data message format (MDMF) which, in addition to theinformation provided by SDMF format, can also provide the directorylisted name for the particular number.

Additionally, in some embodiments, communication interface 216 mayinclude one or more data/communication ports. For example, in oneembodiment, communication interface 216 may include a USB port forenabling a user to directly connect a data processing system to femtocell 190 to configure the functionalities of femto cell 190.

In addition, in some embodiments, femto cell 190 may include a webinterface module 214 for interfacing with a webpage/application forenabling a subscriber to configure femto cell 190. For example, in oneembodiment, web interface module 214 may communicate with web and/orapplication server 144 hosting a webpage and/or web application 146 forenabling a user to configure the functionalities of femto cell 190, suchas, but not limited to, a call gating function. Additionally, in someembodiments, web interface module 214 may interface with a networkaddress book for importing a list of contacts associated with asubscriber of a registered cellular device. For example, in someembodiments, a user may import contact information from network or localaddress book for populating an allowed list 242 associated with aregistered cellular device.

Additionally, femto cell 190 may include one or more transceivers, suchas, but not limited to, transceiver 228 for sending and receivingsignals between one or more cellular devices. In some embodiments,transceiver 228 may include mechanisms to control and minimizeinterference with the macro cellular system and/or interference betweenfemto cell devices. In addition, in some embodiments, transceiver 228may support concurrent operation on multiple radio technologies andmultiple concurrent frequency assignments. Further, in accordance withsome embodiments, transceiver 228 may support idle handoff between femtocell 190 and the macro cellular system.

In addition, in some embodiments, femto cell 190 may include a digitaldown/up converter (DDC/DUC) 222. In one embodiment, DDC/DUC 222 mayperform digital-down-conversion on the receive path anddigital-up-conversion on the transmit path, similar to the operations ofa modem.

FIG. 3 depicts an embodiment of a user interface 300 for configuring afemto cell to provide cellular call gating in accordance with anillustrative embodiment. In one embodiment, user interface 300 may begenerated by a web server hosting a webpage/portal for enabling a userto configure femto cell 190. Alternatively, or in addition to, in someembodiments, user interface 300 may be software/firmware locallyinstalled on femto cell 190 that enables a user to directly connect andconfigure femto cell 190 using a data processing system.

In one embodiment, user interface 300 includes a mobile identificationtext box 302 for enabling a user to register the Mobile IdentificationNumber (MIN) associated with a cellular device. In other embodiments,user interface 300 may enable registration of an International MobileEquipment Identity (IMEI) number associated with a cellular device. AnIMEI number is a unique number assigned to a mobile phone that cannot bechanged unlike a Mobile Identification Number (MIN) of a cellulardevice. In one embodiment, femto cell 190 only allows registeredcellular devices to connect to femto cell 190 for sending and receivingcalls.

In accordance with the disclosed embodiments, user interface 300provides a user-selectable option 304 for creating a list ofallowed/preferred caller IDs. In one embodiment, the list ofallowed/preferred caller IDs is utilized by femto cell 190 to screenincoming calls to a registered cellular device. For instance, in oneembodiment, femto cell 190 may forward incoming calls to a registeredcellular device only if the caller ID associated with the incoming callis included in the list of allowed/preferred caller IDs associated withthe registered cellular device. In one embodiment, femto cell 190 mayautomatically include caller IDs associated with emergency numbers inthe list of allowed/preferred caller IDs, e.g., calls from the police orfire department are automatically routed to a registered cellulardevice.

In addition, in some embodiments, user interface 300 may include animport option 306 for enabling a user to import a locally stored and/ora network address book for populating the list of allowed/preferredcaller IDs. For example, in one embodiment, user interface 300 mayenable a user to import caller ID information from a user's MicrosoftOutlook® contact information. In some embodiments, a user mayselectively import only desired caller IDs from an address book.

Additionally, in some embodiments, user interface 300 may include amanual entry option 308 that enables a user to manually enter an allowedcaller ID. User interface 300 may also include a view allowed listoption 310 for enabling a user to view and edit the list ofallowed/preferred caller IDs associated with a registered cellulardevice. For instance, in some embodiments, view allowed list option 310may provide a pull down menu containing a list of the allowed callerIDs. In other embodiments, view allowed list option 310 may present aseparate window that enables a user to view and edit the list ofallowed/preferred caller IDs associated with a registered cellulardevice.

In some embodiments, user interface 300 may include a user-selectableblocked list option 312 for enabling a user to create a list of blockedcaller IDs. In one embodiment, femto cell 190 utilizes the list ofblocked caller IDs associated with a registered cellular device toautomatically route all incoming calls having caller IDs that areincluded on the list of blocked caller IDs to voicemail. In addition, insome embodiments, user interface 300 may include a user-selectable SMSoption 314 for enabling a user to configure femto cell 190 to blockdelivery of text messages having caller IDs that are included on thelist of blocked caller IDs.

Additionally, in some embodiments, user interface 300 may include amanual entry option 316 for enabling a user to manually enter a blockedtelephone number. In some embodiments, manual entry option 316 mayaccept wildcards characters, such as, an “*” for indicating one or morenumbers. For example, a user may block delivery of all text messagesfrom “1-800-*”, such as, unsolicited text messages from telemarketers orfrom “214-*” for blocking all calls having this area code. Similarly,user interface 300 may include a view blocked list option 318 forenabling a user to view and edit the list of blocked caller IDsassociated with a registered cellular device.

In addition, in sonic embodiments, user interface 300 may include auser-selectable option 320 for enabling non-blocked callers to selfidentify a call as important or urgent. For example, in one embodiment,if an incoming call having a caller ID that is not on the list ofblocked caller IDs and is also not on the list of allowed caller IDs,femto cell 190 may notify the caller that the subscriber associated withthe called device has enable a call gating/screening function anddesires not be disturbed for non-urgent matters. In these embodiments,femto cell 190 may ask the caller if the caller would like to identifythe call as an urgent call and have the call forwarded to the calleddevice. In some embodiments, the caller may respond verbally (e.g., yesor no) or utilize a touchtone key to respond to femto cell 190 (e.g.,press #1 to go to the called device's voicemail system, press #2 to ringthe called device, or press #3 to disconnect call). In accordance withone embodiment, if the caller does not identify the call as urgentwithin a specified period, femto cell 190 automatically routes the callto a voicemail system associated with the called device.

Further, in some embodiments, user interface 300 may include auser-selectable option 322 for enabling a user to configure femto cell190 to automatically turn on call gating functions for a registeredcellular device when the registered cellular device is within signalrange and communicating with femto cell 190. In other embodiments, auser may manually activate and/or deactivate call gating for aparticular registered cellular device. For example, in one embodiment, auser may send an activation command to femto cell 190, e.g., a call to*75 from a registered cellular device may notify femto cell 190 to turnon the call gating functions associated with the registered cellulardevice. Similarly, in some embodiments, a user may send a deactivationcommand to femto cell 190 for turning off the call gating functionsassociated with a registered cellular device.

With reference now to FIG. 4, a flowchart depicting an embodiment of aprocess 400 for providing cellular call gating via a femto cell inaccordance with an illustrative embodiment is presented. For example, inone embodiment, process 400 may be executed by femto cell 190 as forproviding call gating to cellular device 150. Additionally, in someembodiments, process 400 may be executed to monitor one or moreregistered cellular devices simultaneously. In these embodiments, eachregistered cellular device may be configured differently and/or may havedifferent allowed/blocked lists of caller IDs. In other embodiments, aplurality of cellular devices may have the same configurations and/orthe same allowed/blocked list caller IDs. Thus, in these embodiments, auser only has to configure one femto cell instead of multiple cellulardevices.

In one embodiment, process 400 begins by receiving configuration dataassociated with a registered cellular device, such as, but not limitedby, the configuration data referenced in reference FIG. 3. Afterreceiving the configuration data, the process, at step 404, monitors forthe cellular signal associated with the registered cellular device. Inresponse to detecting the cellular signal associated with the registeredcellular device, the process, at step 406, initiates communication withthe registered cellular device (i.e., switches the communication channelof the registered cellular device to utilize the femto cell instead ofthe macro cell network) and turns on the call gating functions for theregistered cellular device.

The process, at step 408, monitors for incoming calls to the registeredcellular device. At step 410, the process receives an incoming call tothe registered cellular device. In response to receiving the incomingcall, the process, at step 412, identifies the caller ID associated withthe incoming call. At step 414, the process determines whether thecaller ID is included on a list of allowed caller IDs associated withthe registered cellular device. In one embodiment, in response to adetermination that the caller ID associated with the incoming call is onthe list of allowed caller IDs associated with the registered cellulardevice, the process, at step 416, forwards the call to the registeredcellular device, with process 400 terminating thereafter.

However, if the process determines that the caller ID associated withthe incoming call is not on the list of allowed caller IDs, the process,at step 418, determines whether the caller ID associated with theincoming call is on a list of blocked caller IDs associated with theregistered cellular device. In one embodiment, if the process determinesthat the caller ID associated with the incoming call is on the list ofblocked caller IDs, the process, at step 414, automatically forwards thecall to a voicemail system associated with the registered cellulardevice, with process 400 terminating thereafter.

In some embodiments, if the process determines that the caller IDassociated with the incoming call is not on the list of allowed callerIDs and also not on the list blocked caller IDs associated with theregistered cellular device, the process, at step 420, may present thecaller with an option for self-identifying the call as an important orurgent call. At step 422, the process determines whether the caller hasidentified the call as an important call. If the process determines thatthe caller has identified the call as an important call, the processforwards the call to the registered cellular device and rings the calleddevice at step 416, with process 400 terminating thereafter. However, ifthe process determines that the caller has not identified the call as animportant call, the process forwards the call to a voicemail systemassociated with the registered cellular device, with process 400terminating thereafter.

In some embodiments, if the process is unable determine a caller ID atstep 412 (e.g., a blocked caller ID), the process would automaticallydirect a call to a voicemail system associated with the registeredcellular device. In one embodiment, the process may enable a caller witha blocked caller ID to self identify the call as an important call andhave the call directly to the registered cellular device. In otherembodiments, a user may elect to have the process direct all callerswith block caller IDs to voicemail with no bypass option available.

Further, in some embodiments, the disclosed embodiments for providingthe call gating functions for a cellular device may include a timingfeature associated with the call gating functions including, but notlimited to, providing a time of day and/or day of the week featureassociated with providing the call gating features. For example, in oneembodiment, a user may select to engage the call gating featuresassociated with a particular cellular device only after a certain timeof the day, e.g., after 8 PM, or only on a particular day(s) of theweek, such as, but not limited to, Saturday and Sunday. Further, in someembodiments, the timing features may enable a gradual reduction ofincoming calls. For example, in one embodiment, the call gating featuresmay enable a first set of callers to call after 5 PM, a subset of thefirst set of callers to call after 8 PM, and a third subset of the firstset of callers to call after 10 PM.

Accordingly, the disclosed embodiments present a system and method forproviding a user friendly and customizable way for providing cellularcall gating. The disclosed embodiments present several advantagesassociated with providing call gating to cellular devices via a femtocell including, but not limited to, enabling a user to easily modify andcustomize a local device associated with the user instead of modifying anetwork resource that is associated with a service provider. Further,because the user is utilizing a femto cell instead of a networkresource, in some embodiments, the user is able to avoid paying anadditional service fee for the call gating features.

As will be appreciated by one skilled in the art, certain aspects of thedisclosed embodiments may be embodied as an apparatus, method, orcomputer program product. In addition, the disclosed embodimentsincluding, but not limited to, the disclosed modules may be implementedentirely with hardware or as a software embodiment (including firmware,resident software, micro-code, etc.) or an embodiment combining softwareand hardware aspects. Furthermore, the disclosed embodiments may takethe form of a computer program product embodied in any tangible mediumof expression having computer-usable program code embodied in themedium.

Computer program code for carrying out operations of the presentinvention may be written in any combination of one or more programminglanguages, including an object oriented programming language, such asJava, Smalltalk, C++, or the like and conventional proceduralprogramming languages, such as the “C” programming language or similarprogramming languages. The program code may execute entirely on theuser's computer, partly on the user's computer, as a stand-alonesoftware package, partly on the user's computer and partly on a remotecomputer or entirely on the remote computer or server. In the latterscenario, the remote computer may be connected to the user's computerthrough any type of network, including a local area network (LAN) or awide area network (WAN), or the connection may be made to an externalcomputer (for example, through the Internet using an Internet ServiceProvider).

The disclosed embodiments are described above with reference toflowchart illustrations, sequence diagrams, and/or block diagrams. Eachblock of the flowchart illustrations and/or block diagrams, andcombinations of blocks in the flowchart illustrations and/or blockdiagrams, may be implemented by computer program instructions. Thesecomputer program instructions may be provided to a processor of ageneral purpose computer, special purpose computer, or otherprogrammable data processing apparatus to produce a machine, such thatthe instructions, which execute via the processor of the computer orother programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks.

These computer program instructions may also be stored in acomputer-readable medium that can direct a computer or otherprogrammable data processing apparatus to function in a particularmanner, such that the instructions stored in the computer-readablemedium produce an article of manufacture including instruction meanswhich implement the function/act specified in the flowchart and/or blockdiagram block or blocks.

The computer program instructions may also be loaded onto a computer orother programmable data processing apparatus to cause a series ofoperational steps to be performed on the computer or other programmableapparatus to produce a computer implemented process such that theinstructions which execute on the computer or other programmableapparatus provide processes for implementing the functions/actsspecified in the flowchart and/or block diagram block or blocks.

The terminology used herein is for describing particular embodimentsonly and is not intended to be limiting of the invention. As usedherein, the singular forms “a”, “an” and “the” are intended to includethe plural forms as well, unless the context clearly indicatesotherwise. It will be further understood that the terms “comprise”and/or “comprising,” when used in this specification and/or the claims,specify the presence of stated features, integers, steps, operations,elements, and/or components, but do not preclude the presence oraddition of one or more other features, integers, steps, operations,elements, components, and/or groups thereof. The correspondingstructures, materials, acts, and equivalents of all means or step plusfunction elements in the claims below are intended to include anystructure, material, or act for performing the function in combinationwith other claimed elements as specifically claimed. The description ofthe present invention has been presented for purposes of illustrationand description, but is not intended to be exhaustive or limited to theinvention in the form disclosed. Many modifications and variations willbe apparent to those of ordinary skill in the art without departing fromthe scope and spirit of the invention. The embodiment was chosen anddescribed to explain the principles of the invention and the practicalapplication, and to enable others of ordinary skill in the art tounderstand the invention for various embodiments with variousmodifications as are suited to the particular use contemplated.

In addition, the flowchart and block diagrams in the figures illustratethe architecture, functionality, and operation of possibleimplementations of systems, methods and computer program productsaccording to various embodiments of the present invention. In thisregard, each block in the flowchart or block diagrams may represent amodule, segment, or portion of code, which may include one or moreexecutable instructions for implementing the specified logicalfunction(s). It should also be noted that, in some alternativeimplementations, the functions noted in the block may occur out of theorder noted in the figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts, or combinations of special purpose hardware andcomputer instructions.

The previous detailed description is of a small number of embodimentsfor implementing the invention and is not intended to be limiting inscope. One of skill in this art will immediately envisage the methodsand variations used to implement this invention in other areas thanthose described in detail. The following claims set forth a number ofthe embodiments of the invention disclosed with greater particularity.

We claim:
 1. A computer-implemented method for providing cellular callgating, the method configured to execute instructions to performoperations comprising: enabling a call gating function on a femto cellfor a cellular device in response to receiving an activation signal fromthe cellular device, monitoring for an incoming call to the cellulardevice in response to enabling the call gating function associated withthe cellular device; identifying a caller ID associated with an incomingcall in response to receiving an incoming call to the cellular device;determining, using a processor, whether the caller ID is on a list ofallowed caller IDs associated with the cellular device; and routing theincoming call to the cellular device in response to a determination thatthe caller ID is on the list of allowed caller IDs associated with thecellular device.
 2. The method of claim 1, wherein the call gatingfunction includes timing features for enabling a user to specify timesand days in which the call gating function is active for the cellulardevice.
 3. The method of claim 1, wherein the call gating functionincludes timing features for gradually reducing a number of allowedincoming calls based on time of day.
 4. The method of claim 3, whereinthe list of allowed caller IDs are generated by importing data from anaddress book associated with a subscriber.
 5. The method of claim 1,wherein the operations further comprises receiving the list of allowedcaller IDs from a user utilizing a data processing system physicallycoupled to the femto cell.
 6. The method of claim 1, wherein theoperations further comprises disabling the call gating functionassociated with the cellular device in response to receiving a disablingrequest from the cellular device.
 7. The method of claim 1, wherein theoperations further comprises: enabling a call gating function associatedwith a second cellular device; monitoring for an incoming call to thesecond cellular device; identifying a caller ID associated with theincoming call to the second cellular device in response to receiving anincoming call to the second cellular device; determining whether thecaller ID associated with the incoming call to the second cellulardevice is on a list of allowed caller IDs associated with the secondcellular device; and routing the incoming call to the second cellulardevice in response to a determination that the caller ID is on the listof allowed caller IDs associated with the second cellular device.
 8. Themethod of claim 7, wherein the operations further comprises disablingthe call gating function associated with the cellular device in responseto receiving a disabling request from the cellular device whilemaintaining the call gating function associated with the second cellulardevice.
 9. The method of claim 1, wherein the operations furthercomprises: determining whether the caller ID is on a list of blockedcaller IDs associated with the cellular device; and routing the incomingcall to a voicemail system associated with the cellular device inresponse to the caller ID being on the list of blocked caller IDsassociated with the cellular device.
 10. The method of claim 9, whereinthe operations further comprises: providing an option for a callerassociated with the incoming call to identify the incoming call as animportant call in response to the caller ID not being on the list ofallowed caller IDs and not being on the list of blocked caller IDsassociated with the cellular device; and routing the incoming call thecellular device in response to receiving an indication from the callerthat the call is important.
 11. The method of claim 1, wherein the callgating function includes text message blocking and wherein theoperations further comprises: monitoring for an incoming text message tothe cellular device; identifying a caller ID associated with theincoming text message in response to receiving an incoming text messageto the cellular device; determining whether the caller ID associatedwith the incoming text message is on a list of blocked caller IDsassociated with the cellular device; blocking delivery of the incomingtext message in response to the caller ID associated with the incomingtext message being on the list of blocked caller IDs associated with thecellular device; and routing the incoming text message to the cellulardevice in response to the caller ID associated with the incoming textmessage not being on the list of blocked caller IDs associated with thecellular device.
 12. A femto cell for providing cellular call gating,the femto cell comprising: a transceiver configured to send and receivesignals between the femto cell and one or more cellular devices withinrange of the femto cell; a processing unit configured to executeinstructions to perform operations comprising: enabling a call gatingfunction associated with a cellular device in response to receiving anactivation signal from the cellular device, monitoring for an incomingcall to the cellular device in response to enabling the call gatingfunction associated with the cellular device; identifying a caller IDassociated with an incoming call in response to receiving an incomingcall to the cellular device; determining whether the caller ID is on alist of allowed caller IDs associated with the cellular device; androuting the incoming call to the cellular device in response to adetermination that the caller ID is on the list of allowed caller IDsassociated with the cellular device.
 13. The femto cell of claim 12,further comprising a data storage unit that contains a list of blockedcaller IDs associated with the cellular device and wherein theoperations further comprises: determining whether the caller IDassociated with the incoming call is on the list of blocked caller IDsassociated with the cellular device; and routing the incoming call to avoicemail system associated with the cellular device in response to adetermination that the caller ID is on the list of blocked caller IDsassociated with the cellular device.
 14. The femto cell of claim 12,wherein the operations further comprises disabling the call gatingfunction associated with the cellular device in response to receiving adisabling request from the cellular device.
 15. The femto cell of claim12, wherein the operations further comprises receiving the list ofallowed caller IDs from a Web server hosting a webpage, wherein asubscriber associated with the cellular device utilizes the webpage forgenerating the list of allowed caller IDs.
 16. The femto cell of claim12, wherein the operations further comprises providing an option for acaller associated with the incoming call to identify the incoming callas an important call in response to a determination that a caller ID isnot on the list of allowed caller IDs and also not on a list of blockedcaller IDs associated with the cellular device.
 17. The femto cell ofclaim 16, wherein the operations further comprises routing the incomingcall to the cellular device in response to receiving input from thecaller identifying the incoming call.
 18. The femto cell of claim 16,wherein the operations further comprises routing the incoming call to avoicemail system associated with the cellular device in response notreceiving input from the caller identifying the incoming call as animportant call.
 19. The femto cell of claim 12, wherein the operationsfurther comprises: monitoring for an incoming text message to thecellular device; identifying a caller ID associated with the incomingtext message in response to receiving an incoming text message to thecellular device; determining whether the caller ID associated with theincoming text message is on a list of blocked caller IDs associated withthe cellular device; blocking delivery of the incoming text message inresponse to the caller ID associated with the incoming text messagebeing on the list of blocked caller IDs associated with the cellulardevice; and routing the incoming text message to the cellular device inresponse to the caller ID associated with the incoming text message notbeing on the list of blocked caller IDs associated with the cellulardevice.
 20. A computer program product comprising a non-transitorytangible computer usable medium having a computer readable program codeembodied therein, the computer readable program code adapted to beexecuted by a processor of a femto cell to perform operationscomprising: enabling a call gating function associated with a cellulardevice in response to receiving an activation signal from the cellulardevice, monitoring for an incoming call to the cellular device inresponse to enabling the call gating function associated with thecellular device; identifying a caller ID associated with an incomingcall in response to receiving an incoming call to the cellular device;determining whether the caller ID is on a list of allowed caller IDsassociated with the cellular device; and routing the incoming call tothe cellular device in response to a determination that the caller ID ison the list of allowed caller IDs associated with the cellular device.